//#include<iostream>
//#include<cstring>
//using namespace std;
//int main(){
//	char s1[30],s2[30];
//	cin >> s1 >> s2;
//	int f = 1;
//	int a = strlen(s1),b = strlen(s2);
//	int r = max(a,b),flag = 0;
//	int y = min(a,b);
//	if(a > b){
//		swap(s1,s2);
//		f = 0;	
//	}
//	for(int i = 0; i < r-y; i++){
//		int flag = 1;
//		int count = 0;
//		for(int j = i; j < y + i; j++){
//			if(count == y) break;
//			if(s2[j] != s1[j-i])flag = 0;
//			else {flag = 1;count++;}
//		}
//		if(flag == 1 && a < b) {
//			cout <<s1<<" is substring of "<<s2;
//			break;
//		}
//		else if(flag==1 && f==0){
//			cout << s1 <<" is substring of "<<s2;
//			break;
//		}
//		else if(flag==0){
//		cout << "No substring";
//		break; 
//		} 
//	}
//	return 0;
//}
#include<iostream>
#include<cstring>
using namespace std;
int main(){ 
	char s1[30],s2[30];
	cin >> s1 >> s2;
	if(strstr(s1,s2)) cout << s2 <<" is substring of "<<s1;
	else if(strstr(s2,s1)) cout << s1<<" is substring of "<<s2;
	else cout << "No substring"; 
	return 0;
}
